In a data-processing system that manages items of data in a persistent store, a significant performance cost is often incurred for each interaction between the data-processing system and the persistent store. The storage medium in question may be a magnetic disk drive accessed directly using the operating system, a relational database or system, or some other persistence mechanism.
Typically, an application issues requests to a data processing system which are then mapped to operations for effecting work against a persistent store. Such operations are grouped into transactions which are each committed to the persistent store. At the point a transaction is committed, the system can guarantee to the application that all the operations necessary to satisfy an application's request are complete.
Since interactions with the persistent store are expensive, especially interactions that commit transactions, the concept of a group commit is also known. A group commit delays interaction with the persistent store to amortize the cost of the interaction across a number of transactions. This capability reduces the performance cost somewhat. Nevertheless there is the opportunity for a more effective mechanism for improving performance in some environments.
Note that optimizations are known at recovery time. For example, published U.S. patent application 20030191782 discloses replaying a log starting with the most recent log record. It is then determined for each successive log record that relates to an operation on a database record, whether processing the log record will result in the most recent state of the corresponding database record, and if so, the log record is processed. Subsequently, additional data is restored from the backup. This patent application does not, however, address performance issues during normal operation.